package com.yao.sys.service;

import java.util.List;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yao.common.resp.DTree;
import com.yao.sys.entity.MenuEntity;
import com.yao.sys.entity.dto.MenuDto;

/**
 * 菜单表 接口
 *
 * @author autoCode
 * @version 1.0.0-SNAPSHOT
 * @date 2020-04-09
 */
public interface MenuService extends IService<MenuDto> {

    /**
     * 功能描述 : 新增菜单
     * 
     * @param dto
     * @author yaoyuming
     * @date 2020/4/10
     */
    void add(MenuDto dto);

    /**
     * 功能描述 : 修改菜单
     * 
     * @param dto
     * @author yaoyuming
     * @date 2020/4/10
     * @return {@link MenuEntity}
     */
    void modifyById(MenuDto dto);

    /**
     * 功能描述 : 获取一级菜单
     *
     * @param
     * @author yaoyuming
     * @date 2020/3/30
     * @return {@link List< MenuDto>}
     */
    List<MenuDto> listRoot();


    /**
     * 功能描述 : 分页查询列表
     * 
     * @param page
     * @param dto
     * @author yaoyuming
     * @date 2020/4/14
     * @return {@link IPage< MenuDto>}
     */
    IPage<MenuDto> page(IPage<MenuDto> page, MenuDto dto);

    /**
      * 功能描述 : 菜单树
      * @param
      * @author yaoyuming
      * @date 2020/7/15 0015
      * @return {@link List< DTree>}
      */
    List<DTree> tree();
}